import numpy as np
%matplotlib notebook
import matplotlib.pyplot as plt
import ipywidgets as widgets
from maux import *
hide_interactive_toolbars()
# interaktívny editor pre vyšetrovanie priebehu elementárnych funkcií
from jedit import editor
np.warnings.filterwarnings('ignore', category=np.VisibleDeprecationWarning)
# nastavenie jazyka
from locale import setlocale, LC_ALL
from platform import uname
if uname()[0] == 'Linux':
setlocale(LC_ALL, 'sk_SK.utf8')
else:
setlocale(LC_ALL, 'sk_SK')
plt.rcParams["axes.formatter.use_locale"] = True
V nasledujúcich príkladoch budeme kresliť grafy a vyšetrovať priebeh elementárnych funkcií.
Pretože tieto funkcie môžu mať neohraničený definičný obor, budeme pri zostrojovaní grafu každej takejto funkcie vykreslovať len jej zaujímavú časť. Pri vyšetrovaní jej priebehu treba určiť:
Preferujeme algebraickú metódu pri hľadaní význačných bodov. Súradnice význačných bodov, ktoré sú zrejmé z grafu, netreba explicitne uvádzať.
Doporučujeme tiež rozdeliť riešenie do dvoch častí:
Dokumentácia:
#####
##### šablóna riešenia (nakreslenie grafu a vyšetrenie priebehu funkcie)
#####
#### vstupné údaje
# def f(X): return None # ufunc verzia funkcie
# X = np.linspace(None, None, None+1) # výber hodnôt nezávislej premennej pre zaujímavú časť grafu
# Y = f(X) # odpovedajúce hodnoty závislej premennej
# X1, X2 = X[X < None], X[X > None] # číslo None nepatrí do oboru definície
# Y1, Y2 = f(X1), f(X2) # odpovedajúce hodnoty závislej premennej
#### obrázok s jedným diagramom
# fig, ax = plt.subplots()
# fig.set_size_inches(6, 4) # veľkosť obrázka (východzia hodnota je 6x4)
### diagram
# init_subplot(ax) # inicializácia diagramu: vytvorí sa pravoúhla súradnicová sústava
# ax.set_title(r"Graf a priebeh funkcie $y = \cdots$") # pomenovanie diagramu
# ax.set_aspect('equal') # nastavenie rovnakej mierky pre obe osi
# ax.grid() # pravoúhla sieť
## x-ová os
# ax.set_xlim(None, None) # ohraničenie hodnôt pre os x
# ax.set_xticks(np.linspace(None, None, None+1)) # kótovanie x-ovej osi
## x-ová os (pre goniometrické funkcie)
# xtick_numerators = range(None, None+1)
# ax.set_xticks([n * np.pi / None for n in xtick_numerators]) # kótovanie x-ovej osi
# ax.set_xticklabels([smart_ticklabel(n, r"\pi", None) for n in xtick_numerators]) # označenie kót na x-ovej osi
## y-ová os
# ax.set_ylim(None, None) # ohraničenie hodnôt pre os y
# ax.set_yticks(None) # kótovanie y-ovej osi
## graf funkcie
# ax.plot(X, Y)
# color = ax.plot([], [])[0].get_color()
# ax.plot(X1, Y1, c=color)
# ax.plot(X2, Y2, c=color)
## nulové body funkcie
# ax.plot(None, 0, 'kx', label=r"nulový bod $?$")
## x-ové súradnice extrémov funkcie vrátane krajných bodov základného intervalu
# ps = [X[0], None, X[-1]]
# ps = [X1[0], None, X1[-1], X2[0], None, X2[-1]]
## extrémy funkcie
# ax.plot(ps[None], f(ps[None]), 'o', label=r"extrém v bode $?$")
## intervaly, na ktorých je funkcia rastúca
# color = ax.plot([], [], label=r"rastúca")[0].get_color()
# for i in None:
# I = X[(ps[i] <= X) & (X <= ps[i+1])]
# ax.plot(I, f(I), c=color)
## intervaly, na ktorých je funkcia klesajúca
# color = ax.plot([], [], label=r"klesajúca")[0].get_color()
# for i in None:
# I = X[(ps[i] <= X) & (X <= ps[i+1])]
# ax.plot(I, f(I), c=color)
## asymptota bez smernice
# Ay = np.linspace(None, None, None+1)
# Ax = None * np.ones(len(Ay))
# ax.plot(Ax, Ay, '--', lw=1, label=r"asymptota bez smernice v bode $?$")
## asymptota so smernicou
# Ax = X
# Ay = None * np.ones(len(Ax)) + None
# ax.plot(Ax, Ay, '--', lw=1, label=r"asymptota so smernicou $?x+?y+? = 0$ v bode $\pm\infty$")
## legenda
# ax.legend()
# ax.legend(loc='center') # umiestenie v strede diagramu
# ax.legend(loc=(None, None)) # ľavý dolný roh legendy má súradnice (None, None)
### archivácia obrázka
# fig.savefig("<meno súboru>.png")
### samotné zobrazenie
# fig.show()
#### editor
# editor(figure=fig, axes=ax, function=f, intervals=[X])
# editor(figure=fig, axes=ax, function=f, intervals=[X1, X2])
Nakreslite grafy a vyšetrite priebeh týchto funkcií \begin{align} y & = \frac{x-2}{\sqrt{x^2+1}}, \\ y & = \sqrt[3]{x-\frac{1}{x}}, \\ y & = \frac{\ln^3 x - 2}{\ln^2 x + 1}, \\ y & = \cos \ln \frac{1}{x^{10}+1}, \\ y & = \arctan \sqrt[3]{x^2 - 1}, \\ y & = \arccos \frac{x^3}{x^6 + 1} - 1, \\ y & = \sin x + \cos^3 x, \\ y & = \arcsin \frac{2x^2}{x^3+1} - 1, \\ y & = \sin^3 2x + \cos^2 3x, \\ y & = (x^2)^x, \\ y & = \cos x + \sin^3 x, \\ y & = \arccos \frac{2x^2}{x^3+1}-\frac{1}{2}. \end{align}
Nakreslite graf a vyšetrite priebeh funkcie $$y = \cos^2\,2x - \sin^3\,3x.$$ Ako zaujímavá časť grafu funkcie si zvoľte interval $\langle 0, 2 \pi \rangle$ pre hodnoty nezávislej premennej. Súradnice význačných bodov nevypisujte!
Nakreslite graf a vyšetrite priebeh funkcie $$y = \arcsin\,\dfrac{x^2}{x^3+x^2-1} + \dfrac{1}{2}.$$ Súradnice význačných bodov nevypisujte!